/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
 * Copyright (C) 2016-2018, LomboTech Co.Ltd.
 * Author: lomboswer <lomboswer@lombotech.com>
 *
 * VISS-VILD driver code for LomboTech
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 */

#ifndef ___VISS___VILD__H___
#define ___VISS___VILD__H___

#define VILD_DRV_NAME		"viss-vild"
#define VISS_VILD_NUM		1

#define DATA_TIMEOUT		0x800000
#define CADJ_CFG		0x32a
#define FADJ_CFG		0x100
#define MANU_MAX_VAL		0x1f400
#define MANU_MIN_VAL		0x00000
#define FIFOA_DPTH_CFG		0x4000
#define FIFOB_DPTH_CFG		0x2000

/* struct viss_vild - viss vild structure
 * @*pdev: pointer to VISS device platform device
 */
struct viss_vild {
	struct platform_device		*pdev;

	spinlock_t			slock;
	void __iomem			*regs;
	struct v4l2_subdev		subdev;
	struct video_device		vfd;

	struct media_pad		vd_pad;
	const struct viss_pipeline_ops *pipeline_ops;
};

#endif /* ___VISS___VILD__H___ */
